# # Standard GNU Make non-recursive prologue. Pushes callers $(d) onto a stack, # for re-entrant Rules.gnu processing. # sp := $(sp).x dirstack_$(sp) := $(d) d := $(dir) # Our parent directory $(d)/.. := $(subst /$(notdir $(d)-XXXX),,$(d)-XXXX) # # Make sure we have our defaults. # include $($(d)/..)/mk/Variables.gnu CFLAGS_$(d) := $(CFLAGS) CPPFLAGS_$(d) := -DLIBNOSTD_STATIC -I$($(d)/..)/libnostd -I$($(d)/..)/libnostd/compat -I$($(d)/..)/src -I$(d) $(CPPFLAGS) LDFLAGS_$(d) := -L$($(d)/..)/src $(LDFLAGS) LIBS_$(d) := -levnet -larena -levent -lcares -lssl -lcrypto $(LIBS) #LIBS_$(d) := -levnet -larena -levent -lssl -lcrypto $(LIBS) # # Regression Targets # $(d)/peer: $(d)/peer.c $($(d)/..)/src/libevnet.a $(d)/rsa.pem $(CC) $(CFLAGS_$(@D)) $(CPPFLAGS_$(@D)) $(LDFLAGS_$(@D)) -o $@ $< $(LIBS_$(@D)) $(d)/rsa.pem: openssl req -new -nodes -x509 -out $(@D)/rsa.pem -keyout $(@D)/rsa.pem -days 365 -subj "/C=US/ST=CA/L=City/CN=localhost/emailAddress=nobody@localhost" $(d)/lines: $(d)/lines.c $($(d)/..)/src/libevnet.a $(CC) $(CFLAGS_$(@D)) $(CPPFLAGS_$(@D)) $(LDFLAGS_$(@D)) -o $@ $< $(LIBS_$(@D)) $(d)/thread-count: $(d)/thread-count.c $($(d)/..)/src/libevnet.a $(CC) $(CFLAGS_$(@D)) $(CPPFLAGS_$(@D)) $(LDFLAGS_$(@D)) -o $@ $< $(LIBS_$(@D)) $(d)/ldig: $(d)/ldig.c $($(d)/..)/src/libevnet.a $(CC) $(CFLAGS_$(@D)) $(CPPFLAGS_$(@D)) $(LDFLAGS_$(@D)) -o $@ $< $(LIBS_$(@D)) $(d)/google: $(d)/google.c $($(d)/..)/src/libevnet.a $(CC) $(CFLAGS_$(@D)) $(CPPFLAGS_$(@D)) $(LDFLAGS_$(@D)) -o $@ $< $(LIBS_$(@D)) $(d)/google-tls: $(d)/google-tls.c $($(d)/..)/src/libevnet.a $(CC) $(CFLAGS_$(@D)) $(CPPFLAGS_$(@D)) $(LDFLAGS_$(@D)) -o $@ $< $(LIBS_$(@D)) .PHONY: $(d)/check $(d)/check: $(d)/peer $(d)/lines $(d)/thread-count $(d)/ldig $(d)/google $(d)/google-tls #$(d)/check: $(d)/peer $(d)/lines $(d)/google $(d)/google-tls $(@D)/peer cd $(@D) && $(@D)/peer rsa.pem rsa.pem $(@D)/lines $(@D)/thread-count $(@D)/ldig -t MX+A+AAAA 25thandClement.com $(@D)/ldig -t SRV+A+AAAA _jabber._tcp.jabber.org $(@D)/google $(@D)/google-tls check: $(d)/check # # Clean targets # .PHONY: $(d)/clean $(d)/clean: rm -f $(@D)/peer $(@D)/rsa.pem $(@D)/lines $(@D)/thread-count $(@D)/ldig $(@D)/google $(@D)/google-tls clean: $(d)/clean # # Standard GNU Make non-recursive epilogue. Restores callers $(d), for # re-entrant Rules.gnu processing. # d := $(dirstack_$(sp)) sp := $(basename $(sp))