http-server.c

Basic HTTP server and router in C
git clone git://git.finwo.net/lib/http-server.c
Log | Files | Refs | README

Makefile (1557B)


      1 BIN:=http-server
      2 
      3 CPP?=g++
      4 CC?=gcc
      5 
      6 LIBS:=
      7 SRC:=
      8 
      9 SRC+=src/http-server.c
     10 SRC+=example.c
     11 
     12 override CFLAGS?=-Wall -s -O2
     13 
     14 ifeq ($(OS),Windows_NT)
     15     # CFLAGS += -D WIN32
     16     # override CPPFLAGS+=-I external/libs/Microsoft.Web.WebView2.1.0.1150.38/build/native/include
     17     ifeq ($(PROCESSOR_ARCHITEW6432),AMD64)
     18         # CFLAGS += -D AMD64
     19     else
     20         ifeq ($(PROCESSOR_ARCHITECTURE),AMD64)
     21             # CFLAGS += -D AMD64
     22         endif
     23         ifeq ($(PROCESSOR_ARCHITECTURE),x86)
     24             # CFLAGS += -D IA32
     25         endif
     26     endif
     27 else
     28     UNAME_S := $(shell uname -s)
     29     ifeq ($(UNAME_S),Linux)
     30         # CFLAGS += -D LINUX
     31         # override CFLAGS+=$(shell pkg-config --cflags --libs gtk+-3.0 webkit2gtk-4.0 glib-2.0)
     32         # override CFLAGS+=-D _GNU_SOURCE
     33     endif
     34     ifeq ($(UNAME_S),Darwin)
     35         # CFLAGS += -D OSX
     36         override CFLAGS+=-I /usr/local/include/libepoll-shim/
     37         override CFLAGS+=-L /usr/local/lib -lepoll-shim
     38         # override CFLAGS+=-D _BSD_SOURCE
     39     endif
     40     UNAME_P := $(shell uname -p)
     41     ifeq ($(UNAME_P),x86_64)
     42         # CFLAGS += -D AMD64
     43     endif
     44     ifneq ($(filter %86,$(UNAME_P)),)
     45         # CFLAGS += -D IA32
     46     endif
     47     ifneq ($(filter arm%,$(UNAME_P)),)
     48         # CFLAGS += -D ARM
     49     endif
     50     # TODO: flags for riscv
     51 endif
     52 
     53 INCLUDES:=
     54 INCLUDES+=-I src
     55 
     56 include lib/.dep/config.mk
     57 
     58 OBJ:=$(SRC:.c=.o)
     59 OBJ:=$(OBJ:.cc=.o)
     60 
     61 override CFLAGS+=$(INCLUDES)
     62 
     63 LDFLAGS?=-s
     64 LDFLAGS+=$(CFLAGS)
     65 
     66 default: $(BIN)
     67 
     68 .PHONY: clean
     69 clean:
     70 	rm -rf $(OBJ)
     71 
     72 $(BIN): $(OBJ)
     73 	$(CC) $(LDFLAGS) $(OBJ) -o $@